Generally, group communication is extensively used in data centers, and multicast communication (or “multicast”) represents one manner of facilitating the same; generally, multicast involves the delivery of a message or information to a group of destination computers simultaneously in a single transmission from the source. Some examples include the open source Hadoop® MapReduce implementation, which uses data replication for higher availability, clustered application servers which require state synchronization, and cloud environments which require OS (operating system) and application image installation on a group of virtual machines. (Hadoop® is a registered trademark of the Apache Software Foundation.) Multicast lends itself naturally to these communication patterns. IP (Internet protocol) multicast, which has been in existence for several years, is a highly common multicast implementation for traditional networks.
Conventionally, multicast has remained largely undeployed (e.g., in the Internet) owing to concerns surrounding reliability, scalability and security. Particular concerns specific to the adoption of traditional multicast to cloud data centers have arisen. For instance, multicast is not usually configured in such cases to exploit path diversity and does not serve to build optimal routing trees. Commodity switches may not have default multicast support, and multi-tenancy support is also typically not present. These concerns, and others, do not lend themselves to viable, deployable solutions.